//Copyright (c) 2006-2007 Microsoft Corporation.  All rights reserved
using System;

using InvocationFramework.Common;

namespace InvocationFramework.Core
{
    /// <summary>
    /// Argumentos del evento que se produce cuando se completa la ejecucion asincronica de un servicio
    /// </summary>
    /// <author>Rodolfo Finochietti 30/11/2005 15.41</author>
    public class AsyncExecutionCompletedEventArgs : EventArgs
    {
        #region Constructors

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="executionInformation">Informacion de la invocacion de un servicio</param>
        /// <param name="executionResult">El resultado de la ejecucion</param>
        public AsyncExecutionCompletedEventArgs( InvocationInformation executionInformation, AsyncExecutionResult executionResult )
        {
            _executionInformation = executionInformation;
            _executionResult = executionResult;
        }

        #endregion

        #region Properties

        /// <summary>
        /// Variable privada para el manejo de la propiedad
        /// </summary>
        private InvocationInformation _executionInformation;

        /// <summary>
        /// Informacion de la invocacion de un servicio
        /// </summary>
        public InvocationInformation ExecutionInformation
        {
            get
            {
                return _executionInformation;
            }
            set
            {
                _executionInformation = value;
            }
        }

        /// <summary>
        /// Variable privada para el manejo de la propiedad
        /// </summary>
        private AsyncExecutionResult _executionResult;

        /// <summary>
        /// El resultado de la ejecucion
        /// </summary>
        public AsyncExecutionResult ExecutionResult
        {
            get
            {
                return _executionResult;
            }
            set
            {
                _executionResult = value;
            }
        }

        #endregion
    }
}